The setUp()
and tearDown()
methods (initially introduced with JUnit3 to execute a block of code before and after each
test) need to be correctly annotated with the equivalent annotation in order to preserve the same behavior when migrating from JUnit3 to JUnit4 or
JUnit5.
This rule consequently raise issues on setUp()
and tearDown()
methods which are not annotated in test classes.
Noncompliant code example
public void setUp() { ... } // Noncompliant; should be annotated with @Before
public void tearDown() { ... } // Noncompliant; should be annotated with @After
public void setUp() { ... } // Noncompliant; should be annotated with @BeforeEach
public void tearDown() { ... } // Noncompliant; should be annotated with @AfterEach
Compliant solution
@Before
public void setUp() { ... }
@After
public void tearDown() { ... }
@BeforeEach
void setUp() { ... }
@AfterEach
void tearDown() { ... }